package cn.iocoder.yudao.module.eval.controller.admin.employee.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Schema(description = "管理后台 - 考评员工作量 Response VO")
@Data
public class EvalEvaluatorWorkloadRespVO {

    @Schema(description = "用户ID", example = "1")
    private Long userId;

    @Schema(description = "姓名", example = "张三")
    private String name;

    @Schema(description = "员工编号", example = "EMP001")
    private String employeeCode;

    @Schema(description = "总工作量", example = "100")
    private Integer totalWorkload;

    @Schema(description = "已完成工作量", example = "80")
    private Integer completedWorkload;

    @Schema(description = "进行中工作量", example = "15")
    private Integer inProgressWorkload;

    @Schema(description = "待开始工作量", example = "5")
    private Integer pendingWorkload;

    @Schema(description = "完成率", example = "80.0")
    private Double completionRate;

    @Schema(description = "工作量详情")
    private List<WorkloadDetail> workloadDetails;

    @Schema(description = "工作量详情")
    @Data
    public static class WorkloadDetail {

        @Schema(description = "计划ID", example = "1")
        private Long planId;

        @Schema(description = "计划名称", example = "2024年第一批电工认定")
        private String planName;

        @Schema(description = "科目名称", example = "理论考试")
        private String subjectName;

        @Schema(description = "分配人数", example = "20")
        private Integer assignedCount;

        @Schema(description = "已评价人数", example = "15")
        private Integer evaluatedCount;

        @Schema(description = "工作量权重", example = "2")
        private Integer workloadWeight;

        @Schema(description = "状态", example = "进行中")
        private String status;

        @Schema(description = "开始时间", example = "2024-01-01")
        private String startTime;

        @Schema(description = "结束时间", example = "2024-01-31")
        private String endTime;

    }

}
